System and method for optimizing a media gateway selection in mobile switching center pool architecture

ABSTRACT

A system and method to allow call traffic localization within a mobile switching center server pool (MSS pool) or between MSS pools, provides a trunk group identifier mapped to an originating media gateway. An originating mobile switching center server (MSC server) initiates a call session with a terminating MSC server by sending a session initiation protocol (SIP) message that includes a trunk group identifier mapped to an originating media gateway identity. The terminating MSC server examines the mapping received in the SIP message, and uses the trunk group identifier to select a terminating media gateway for call routing to realize call traffic localization.

BACKGROUND

Radio communication systems, such as the Global System for MobileCommunication (GSM) or the Universal Mobile Telecommunications System(UMTS), generally includes a core network (CN) and a radio accessnetwork (RAN). The core network provides services, such as routing phonecalls, to user equipment (UE) connected by the radio access network(RAN). The core network includes inter-connected nodes known as MobileSwitching Center (MSC) servers (MSS or MSC server). The radio accessnetwork includes base station controllers/radio network controllers(BSCs/RNCs).

The core network architecture is divided into a call control layer and aconnectivity layer. An MSC server is implemented in the control layer,and is responsible for signaling traffic (e.g., call set up, charging,etc.) and controlling Media Gateways (MGWs). Media gateways areimplemented in the connectivity layer where all user data istransported, routed and switched, and are responsible for handling thebearer traffic according to instructions from an MSC server. An MSCserver is usually located at a central site for signaling and managingMedia gateways, while Media gateways are usually deployed at remotesites and at interconnection points with other mobile and fixednetworks.

Several MSC servers can be connected together to form a MSC server pool(or MSS pool), whereby all MSC servers within the pool operate togetherto handle the traffic load in the network. In the MSS pool architecture,each MSC server in the pool is connected to all base stationcontroller/radio network controllers, such that each MSC server nodeshares the same service area as the other MSC server nodes in the samepool. The MSS pool architecture, also known as lu-flex (Wideband CodeDivision Multiple Access (WCDMA)) or A-Flex (GSM), conforms to the 3GPPTS 23.236 specification for Intra Domain Connection of RAN Nodes toMultiple CN Nodes. Media gateways support MSS pooling through a featureknown as the Virtual Media Gateway (vMGW) that allows all MSC servers inthe pool to use the resources in one physical MGW.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating intra-pool user plane trafficlocalization in a MSS pool architecture.

FIG. 2 is a diagram illustrating inter-pool user plane traffic routingin a MSS pool architecture.

FIG. 3 is a block diagram illustrating various signaling and bearerinterfaces between MSC server nodes, media gateway nodes and radioaccess network nodes in a fully deployed MSS pool architecture.

FIG. 4 is a block diagram of example components of an MSC serverimplementing the method of optimizing a media gateway selection in thefully deployed MSS pool architecture.

FIG. 5 is a diagram illustrating a first example of a terminating mediagateway selection based on the originating media gateway in a fullydeployed MSS pool architecture.

FIG. 6 is a diagram illustrating a second example of a terminating mediagateway selection based on the originating media gateway in a fullydeployed MSS pool architecture.

FIG. 7 is a signaling diagram corresponding to the first example of aterminating media gateway selection based on the originating mediagateway in the fully deployed MSS pool architecture illustrated in FIG.5.

DETAILED DESCRIPTION

A system and method for optimizing media gateway selection for efficientcall routing in an MSS pool is described in detail below. An MSS poolincludes multiple media gateways (MGWs) that are controlled by all ofthe MSC servers in the pool. A terminating side MSC server in the MSSpool generally randomly allocates a media gateway for a mobile to mobilecall, or a mobile to PSTN call, between MSC servers upon receiving amessage regarding the call from an originating MSC server. As a resultof random allocation of the terminating media gateway, the call islikely to traverse through one or more intermediate media gateways, evenwhen the called party is connected to the same media gateway as thecalling party.

By selecting a media gateway that is geographically close (e.g., ininter-pool call routing) or even the same as the call's originatingpoint (e.g., in intra-pool call routing), the present system ofoptimizing media gateway selection described below reduces the number ofmedia gateway nodes that a given call has to traverse before reachingits terminating point. Furthermore, optimizing the terminating MGWselection provides the shortest path possible for the payload or bearertraffic to travel through the network, which allows the call traffic tobe localized. Localization of the call traffic can significantly improvenetwork efficiency. In implementations where the MSS pool is large withmany MSC servers and media gateways, optimizing the terminating mediagateway selection becomes more critical.

Various embodiments of the invention will now be described. Thefollowing description provides specific details for a thoroughunderstanding and an enabling description of these embodiments. Oneskilled in the art will understand, however, that the invention may bepracticed without many of these details. Additionally, some well-knownstructures or functions may not be shown or described in detail, so asto avoid unnecessarily obscuring the relevant description of the variousembodiments. The terminology used in the description presented below isintended to be interpreted in its broadest reasonable manner, eventhough it is being used in conjunction with a detailed description ofcertain specific embodiments of the invention.

Referring to FIG. 1, an MSS pool 105 configured for intra-pool userplane traffic localization is depicted. The MSS pool 105 includes MSCservers A, B and C (105 a, 105 b and 105 c respectively) that togetherserve geographically diverse locations as one large combined area.Within this pooled area, a user equipment (UE) can freely roam withouthaving to change the MSC node serving the UE. Although three MSC serversare illustrated, it should be understood that a single MSS pool caninclude more or less number of MSC servers.

Connected to the MSS pool 105 are media gateway clusters 110, 115 and120 that provide interface for, and support and connect to CS networkssuch as the PSTN network, and radio access networks, including 2G, 3Gand other external networks. Each media gateway cluster services ageographical region. For example, media gateway clusters 110, 115 and120 service markets A, B and C, respectively, which may begeographically diverse. Within each media gateway cluster are multiplemedia gateways. For example, media gateway cluster 110 includes MGW A1(110 a) and MGW A2 (110 b). Although two media gateways are shown ineach media gateway cluster, it should be understood that more or lessnumber of media gateways may be present in some implementations. Forexample, in a city with a large number of subscribers, the number ofmedia gateways in a media gateway cluster can be more than two.

A call that originates from MGW A1 can be routed through any of themedia gateways, including MGW A1, A2, B1, B2, C1 or C2 that are allunder the control of the MSS pool 105. However, when the call is routedvia MGW A1, the call is localized to the originating MGW cluster 110,and the originating MGW A1, as shown by the traffic path 125. Bylocalizing the call traffic that originates from a media gateway to thesame media gateway, the path that the call payload needs to travel isminimized, thereby optimizing the use of network resources.

Optimization of a media gateway selection in an inter-pool configurationin shown in FIG. 2. The core network includes at least two MSS pools 105and 205. The MSS pool 105, as in FIG. 1, controls media gateway clustersA, B and C. The MSS pool 205 services a second combined area includinggeographically diverse locations, and includes multiple MSC servers A, Band C (205 a, 205 b and 205 c respectively). The MSS pool 205 controlsmedia gateway clusters 210, 215 and 220 serving markets A, B and Crespectively.

If a calling party is handled by the MSS pool 105, and the calling partyis handled by the MSS pool 205, the inter-pool user plane traffic islocalized by routing the call that originates from MGW C2 in MGW cluster120 in MSS pool 105 via a media gateway in MSS pool 205 that isgeographically nearest to the originating MGW. If the geographicallynearest media gateway for terminating the call is MGW A1 in cluster 210,then that media gateway is selected for routing the call, therebykeeping the distance that the payload has to travel the shortest (i.e.,shortest path 230).

Various interfaces between MSC server nodes, media gateway nodes andradio access network nodes in a fully deployed MSS pool architecture 300is illustrated in FIG. 3. The MSS pool 305 includes at least two MSCservers 310 and 315 in the control layer. Each of the MSC servers isconfigured as a Media Gateway Control Function (MGCF). The MGCF providesinterface and support for the Internet Protocol Media Subsystem (IMS),which is an architectural framework for delivering Internet Protocol(IP) multimedia to mobile users over various types of wired and wirelessnetworks, and the Public Switched Telephone Network (PSTN).

The MSC server supports various interfaces to connect to the corenetwork elements and the radio access network elements. For example, theMSC server provides an Nc interface to connect with its peers in the MSSpool 305 and an Mc interface to connect with the media gateways 320 and325. The MSC server further provides an luCS interface to connect withthe Universal Terrestrial Radio Access Network (UTRAN) 330 that refersto node B's and radio network controllers in the UMTS radio accessnetwork (3G network). The MSC server also supports Audio over IP (AoIP)interface to connect with GSM EDGE Radio Access Network (GERAN) 335. TheMc interface between the MSC servers and the media gateways, and theIuCS/AoIP interfaces between the MSC servers and the UTRAN/GERAN aresignaling interfaces used by the MSC server to communicate signals orinstructions to the MGWs and the UTRAN/GERAN nodes respectively.

The connectivity layer includes at least two media gateways 320 and 325,both of which are under the control of MSC servers 310 and 315. Themedia gateways 320 and 325 are CS/IMS media gateways that provide aninterface for, and support and connect to, Circuit Switched (CS)networks. The media gateways include at least two virtual media gateways(vMGWs). For example, MGW1 includes virtual media gateways U1 and U2,while MGW2 includes virtual media gateways W1 and W2. The media gatewaysconnect over Nb interface with their peers. The virtual media gatewaysconnect over lu over IP (IuoIP) interface with UTRAN 330 and over AoIPinterface with GERAN 335. The Nb interface, and the AoIP/IuoIP interfacebetween the MGW and the UTRAN/GERAN are bearer interfaces that carry thecall (user plane) data or payload.

FIG. 4 is a block diagram of example components of an MSC server 400(e.g., MSC server 105 a-c or MSC server 205 a-c) implementing the methodof optimizing a media gateway selection in the fully deployed MSS poolarchitecture. The MSC server 400 may include various components forfacilitating optimized MGW selection in the MSS pool for efficient callrouting. For example, in one embodiment, the MSC server 400 includes aninput/output (I/O) module 405 for data transfer, a network interface 410for facilitating the data transfer, a processor module 415 forprocessing stored instructions, a memory 420 for storing instructions,and other reusable data, a terminating media gateway selection module425 for optimizing media gateway selection, and a server application445. The MSC server 400 may also have access to an internal routingtable 450 that includes routing information that can be used by theterminating media gateway selection module 425 for selecting an optimalmedia gateway for routing a call.

The MSC server 400, via the I/O module 405, sends messages to andreceives messages from media gateways and other MSC servers. In someimplementations, the I/O module 405 may facilitate transfer of billingdata, interface with other network components, and the like. The networkinterface 410 of the MSC server 400 provides an interface for signalingtraffic over various protocols such as the internet protocol (IP), thesession initiation protocol (SIP), and the like. The memory 420 includesRAM, EPROM, EEPROM, or storage device such as any kind of optical ormagnetic storage medium for storing instructions that can be processedby the processor module 415. The processor module 415 may include one ormore processors that process instructions stored in the memory 420,execute the MSC server application 445, process instructions embodied inother components such as the terminating media gateway selection module425, and the like. The server application 445 may include programinstructions for controlling calls and media gateway nodes.

The terminating media gateway selection module 425, in oneimplementation, facilitates optimized media gateway selection using aSIP message screening agent 430, a terminating media gateway selectionoptimizer 440 and information from the internal routing table 450. TheSIP message screening agent 430 creates and/or evaluates a SIP messagethat includes information such as a trunk group identifier foroptimizing selection of a terminating media gateway.

The trunk group identifier is a voice over IP trunk group parametergenerally used in the context of VoIP applications and is described inRFC 4904. In the MSS pool architecture, the trunk group identifier ismapped to the originating media gateway, and is used for selecting aterminating media gateway by the terminating MSC server for routing thecall to the called party. Alternately, the MSC server in the MSS poolhas access to one or more internal routes mapped to the trunk groupidentifier. The trunk group identifier has a format that can becustomized as desired. For example, in one implementation, the trunkgroup identifier can have the format of “1-345” where “1” is the MGWidentity or identifier and “345” is the tgrp identifier mapped to theoriginating MGW identity. In some implementations, another parametercalled a trunk context may be included in the SIP message. The trunkcontext parameter may include additional information such as thedomain/sub-domain name of the MSC server, and the like.

In one implementation, when the screening agent 430 detects the trunkgroup identifier in a SIP message, the terminating MGW selectionoptimizer 440 selects the media gateway that is mapped to the trunkgroup identifier received. For example, when the originating mediagateway trunk group identifier “1-345” is included in the SIP message,the optimizer 440 selects a media gateway having an identifier (e.g.,345) that maps to the trunk group identifier as the terminating mediagateway for routing the call. In this example, the optimizer 440 selectsthe originating media gateway as the terminating media gateway based onthe trunk group identifier in received in the SIP message. In anotherimplementation, in the inter-pool configuration, the optimizer 440 mayuse the trunk group identifier to select a terminating media gatewaythat is geographically nearest to the originating media gateway in orderto minimize the distance the call payload would need to travel.

In another implementation, the optimizer 440 may use the routinginformation in the internal routing table 450 to select a call routethat is mapped to the trunk group identifier. For example, the callroute table may specify, for a given trunk group identifier (e.g.,“1-345”), the media gateway (e.g., MGW5) to be selected for callrouting. In one implementation, the call route table 450 may includeinformation such as the IP address of media gateways, port numbers, andthe like that can be used to add a termination to the call.

A first example of a terminating media gateway selection based on theoriginating media gateway identity in a fully deployed MSS poolarchitecture is depicted in FIG. 5.

The MSS pool includes MSC server 1, MSC server 2 and MSC server 3configured as MGCFs. The inter-machine trunk (IMT) is based on Ncinterface and is SIP capable. The MSC servers in the MSS pool handle thenetwork traffic by signaling media gateways MGW 1-6. The MSC-MGWinterface is based on the Extensible Gateway Control Protocol (EGCP)over IP. The inter-service trunk (IST) interface between the mediagateways is based on Nb interface over IP. The radio access networknodes (e.g., RNC1 and RNC2) are connected to the media gateways viavirtual media gateways. For example, virtual media gateway U1 iscontrolled by MSC1, U2 is controlled by MSC2 and U3 is controlled byMSC3 to allow connectivity between subscriber equipment 505 (e.g.,calling party) and 510 (e.g., called party), and the core network.

Each subscriber equipment is served by one dedicated MSC server node inthe MSS pool as long as the subscriber equipment is within the radiocoverage area of the MSS pool. In FIG. 5, the calling party 505 isserved by the MSC server 1, while the called party 510 is served by theMSC server 3, in the same MSS pool. To initiate a call, the MSC server 1seizes the resources of, for example, MGW1 to add a terminal (i.e., thecalling party 505). The MSC server 1, using SIP, sends a SIP INVITEmessage 520 to the MSC server 3 to route the call to the called party510.

The SIP INVITE message 520 is formulated by the MSC server 1, usinginformation relating to the calling and the called parties. For example,MSC server 1 is aware that MGW1 is the originating media gateway, andthat the called party 510 is handled by the MSC server 3. The SIP INVITEmessage 520 includes the originating media gateway identifier oridentity and an additional piece of information in the form of a trunkgroup identifier to allow MSC server 3 is to optimize the selection of aterminating media gateway for routing the call to the called party 510.

In one implementation, for example, the MSC server 1 sends a SIP INVITEmessage 520, substantially in the form of:

SIP INVITE “MGCF1; MGW Id=1, Trunk Group Id=200”

The MSC server 3, receiving the SIP INVITE message 520, parses themessage and extracts the originating MGW identifier of “1”, and thetrunk group identifier of “200.” The MSC server 3, using the mappingbetween the trunk group identifier-MGW identifier, determines that MGW1should be selected as the terminating media gateway.

The MSC server 3 sends a response message 525 back to the MSC server 1,substantially in the form of:

SIP SESSION PROGRESS “MGCF3; MGW Id=1, Trunk Group Id=200”

The MSC server 3 then signals to the terminating media gateway (i.e.,MGW1) to route the call to subscriber 510. The call is then routed tothe subscriber 510 via the terminating media gateway having the sameidentifier or identity as the originating media gateway, but via adifferent virtual media gateway (U3).

A second example of a terminating media gateway selection based on theoriginating media gateway in a fully deployed MSS pool architecture isdepicted in FIG. 6. In this example, the calling party 605 is servicedby MSC server 3, while the called party 610 is serviced by MSC server 1of the same MSS pool. The MSC server 3 adds a termination to the callvia MGW 6. The MSC server 3 then formulates a SIP INVITE message 620,including the originating media gateway identifier of “6” and theassigned trunk group identifier of “206,” to the MSC server 1. The MSCserver 1 acknowledges the message via a SIP SESSION PROGRESS message625. The MSC server 1, using the MGW-trunk group identifier mapping,selects a media gateway having an assigned trunk group identifier of“206” as the terminating media gateway, which corresponds to MGW6. Thecall is routed via MGW 6, thereby localizing the call traffic.

A signaling diagram corresponding to the first example of a terminatingmedia gateway selection based on the originating media gateway in thefully deployed MSS pool architecture illustrated in FIG. 5 is depictedin FIG. 7. An originating MSC server 1, which serves a calling party, isconnected to an originating MGW 1. The terminating MSC server 3, whichserves a called party, is to be connected to a terminating mediagateway. The originating MGW 1 includes virtual media gateways U1, U2and U3. The MSC server 1 has seized the resources of the virtual mediagateway U1. The remaining virtual media gateways U2 and U3, as well asother media gateways in the MSS pool (e.g., MGW2-6 not shown) areavailable for signaling.

When a call signal is received from the originating MGW 1, theoriginating MSC server 1 sends an add request 705 to the originating MGW1 to create a context and add a first termination to the context. Thecontext can be a regular phone call with two terminations, or aconference call with more than two terminations. The add request mayalso specify media type such as the Real-time Transfer Protocol (RTP),IP address of the MGW1, port number of the MGW1, and the like. Theoriginating MGW1 adds a termination as requested and sends an add replyresponse 710 back to the originating MSC server1. The add request andadd reply commands are defined by the EGCP standard.

The originating MSC server 1 then sends a SIP INVITE message 715 thatincludes a trunk group identifier in a trunk group field “tgrp” in themessage contact header to the terminating MSC server 3 connected to thecalled party. In some implementations, the SIP INVITE message may alsoinclude a trunk context. SIP uses session description protocol (SDP) toexchange additional information about the call. For example, using the“c” field of SDP, the MSC server 1 provides MSC server 3 informationregarding the IP address of the MGW 1, media type expected, and thelike.

The terminating MSC server 3 receives the SIP INVITE message andexamines the SIP map. The MSC server 3 selects MGW 1 as the terminatingmedia gateway based on the incoming SIP map, where MGW identifier is 1,and the VoIP trunk group identifier is 200. The MSC server 3 sends anadd request 720 to MGW 1 to add a second termination to the context. Theterminating MGW 1, specifically vMGW U3, in turn, adds the secondtermination and sends an add reply message 725 back to the terminatingMSC server 3.

Once the terminations are added to the context, the terminating MSCserver 3 sends a status code “183” indicating session progress in aSIP/SDP message 730 to the MSC server 1 to advise the originating MSCserver 1 that the session is in progress. The session description may beused by the originating MSC server 1 to send a mod request 735 to theoriginating MGW 1 to, for example, apply ringback tone to the firsttermination. The originating MGW 1, after receiving the mod requestmessage, applies the ringback tone and generates a mod reply message 740for the originating MSC server 1.

Following the mod request/reply message exchange, the originating MSCserver 1 generates a SIP PRACK message 745 for the terminating MSCserver 3 to provisionally acknowledge the session description. When thecalled party picks up the call, the terminating MSC server 3 sends a 200OK PRACK message 750 followed by a 200 OK INVITE message 655 to indicatethat the initial invitation from the originating MSC server 1 has beenaccepted. Upon receiving the INVITE message acknowledgement from theterminating MSC server 3, the call session is established. Once the callsession is established, the originating MSC server 1 sends a final ACKmessage 660 to acknowledge the call session to the terminating MSCserver 3. At 665, the voice data for the established call is exchangedbetween the calling and the called parties over RTP. RTP is a protocolfor delivering audio/video over the mobile network.

CONCLUSION

Although not required, aspects of the invention are described in thegeneral context of computer-executable instructions, such as routinesexecuted by a general-purpose data processing device, e.g., a servercomputer, wireless device or personal computer. Those skilled in therelevant art will appreciate that aspects of the invention can bepracticed with other communications, data processing, or computer systemconfigurations, including: Internet appliances, hand-held devices(including personal digital assistants (PDAs)), wearable computers, allmanner of cellular or mobile phones (including Voice over IP (VoIP)phones), dumb terminals, media players, gaming devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,set-top boxes, network PCs, mini-computers, mainframe computers, and thelike. Indeed, the terms “computer,” “server,” “host,” “host system,” andthe like are generally used interchangeably herein, and refer to any ofthe above devices and systems, as well as any data processor.

Aspects of the invention can be embodied in a special purpose computeror data processor that is specifically programmed, configured, orconstructed to perform one or more of the computer-executableinstructions explained in detail herein. While aspects of the invention,such as certain functions, are described as being performed exclusivelyon a single device such as a single server, the invention can also bepracticed in distributed environments where functions or modules areshared among disparate processing devices, which are linked through acommunications network, such as a Local Area Network (LAN), Wide AreaNetwork (WAN), or the Internet. In a distributed computing environment,program modules may be located in both local and remote memory storagedevices.

Aspects of the invention may be stored or distributed on tangiblecomputer-readable media, including magnetically or optically readablecomputer discs, hard-wired or preprogrammed chips (e.g., EEPROM or flashsemiconductor chips), nanotechnology memory, biological memory, or otherdata storage media. Alternatively, computer implemented instructions,data structures, screen displays, and other data under aspects of theinvention may be distributed over the Internet or over other networks(including wireless networks), on a propagated signal on a propagationmedium (e.g., an electromagnetic wave(s), a sound wave, etc.) over aperiod of time, or they may be provided on any analog or digital network(packet switched, circuit switched, or other scheme).

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” As used herein, the terms “connected,”“coupled,” or any variant thereof means any connection or coupling,either direct or indirect, between two or more elements; the coupling orconnection between the elements can be physical, logical, or acombination thereof. Additionally, the words “herein,” “above,” “below,”and words of similar import, when used in this application, refer tothis application as a whole and not to any particular portions of thisapplication. Where the context permits, words in the above DetailedDescription using the singular or plural number may also include theplural or singular number respectively. The word “or,” in reference to alist of two or more items, covers all of the following interpretationsof the word: any of the items in the list, all of the items in the list,and any combination of the items in the list.

The above Detailed Description of examples of the invention is notintended to be exhaustive or to limit the invention to the precise formdisclosed above. While specific examples for the invention are describedabove for illustrative purposes, various equivalent modifications arepossible within the scope of the invention, as those skilled in therelevant art will recognize. For example, while processes or blocks arepresented in a given sequence, alternative implementations may performroutines having steps, or employ systems having blocks, in a differentorder, and some processes or blocks may be deleted, moved, added,subdivided, combined, and/or modified to provide alternative orsubcombinations. Each of these processes or blocks may be implemented ina variety of different ways.

The teachings of the invention provided herein can be applied to othersystems, not necessarily the system described above. The elements andacts of the various examples described above can be combined to providefurther implementations of the invention. Some alternativeimplementations of the invention may include not only additionalelements to those implementations noted above, but also may includefewer elements. Aspects of the invention can be modified, if necessary,to employ the systems, functions, and concepts of the various referencesdescribed above to provide yet further implementations of the invention.

These and other changes can be made to the invention in light of theabove Detailed Description. While the above description describescertain examples of the invention, and describes the best modecontemplated, no matter how detailed the above appears in text, theinvention can be practiced in many ways. Details of the system may varyconsiderably in its specific implementation, while still beingencompassed by the invention disclosed herein. As noted above,particular terminology used when describing certain features or aspectsof the invention should not be taken to imply that the terminology isbeing redefined herein to be restricted to any specific characteristics,features, or aspects of the invention with which that terminology isassociated. In general, the terms used in the following claims shouldnot be construed to limit the invention to the specific examplesdisclosed in the specification, unless the above Detailed Descriptionsection explicitly defines such terms. Accordingly, the actual scope ofthe invention encompasses not only the disclosed examples, but also allequivalent ways of practicing or implementing the invention under theclaims.

To reduce the number of claims, certain aspects of the invention arepresented below in certain claim forms, but the applicant contemplatesthe various aspects of the invention in any number of claim forms. Forexample, while only one aspect of the invention is recited as acomputer-readable medium, other aspects may likewise be embodied as acomputer-readable medium claim, or in other forms, such as beingembodied in a means-plus-function claim. (Any claims intended to betreated under 35 U.S.C. §112, ¶6 will begin with the words “means for”,but use of the term “for” in any other context is not intended to invoketreatment under 35 U.S.C. §112, ¶6.) Accordingly, the applicant reservesthe right to pursue additional claims after filing this application topursue such additional claim forms, in either this application or in acontinuing application.

I claim:
 1. A method for selecting a terminating media gateway frommultiple media gateways in a first mobile switching center server (MSS)pool, the method comprising: receiving, by a terminating control nodethat is located within the first MSS pool, an invitation to initiate asession initiation protocol (SIP) session that includes an originatingmedia gateway trunk group identifier and a trunk context, wherein theinvitation is a SIP INVITE message that is transmitted by an originatingcontrol node in response to a signal from the originating media gateway,and wherein the trunk context includes a domain name or a sub-domainname that is associated with the first MSS pool; obtaining, by theterminating control node, a geographic location of each media gateway ofthe multiple media gateways, wherein each geographic locationcorresponds to a physical locality in which the corresponding mediagateway resides; selecting, by the terminating control node, a targetmedia gateway from the multiple media gateways using the originatingmedia gateway trunk group identifier and/or the trunk context tolocalize user plane traffic, wherein the selected target media gatewayis one of the multiple media gateways that is geographically nearest toan originating media gateway, and wherein the selected target mediagateway is the originating media gateway, such that the user planetraffic is localized within the originating media gateway; and, routingthe user plane traffic from the originating media gateway via the targetmedia gateway.
 2. The method of claim 1, wherein the originating mediagateway trunk group identifier includes a trunk group identifier that ismapped to an identifier corresponding to the originating media gateway.3. The method of claim 1, wherein the user plane traffic is routed usingReal-time Transport Protocol (RTP).
 4. The method of claim 1, whereinthe originating and the terminating control nodes are both media gatewaycontroller functions (MGCF).
 5. The method of claim 4, wherein theoriginating and the terminating control nodes are members of the firstMSS pool.
 6. The method of claim 4, wherein the originating control nodeand the originating media gateway are associated with a second MSS pooldifferent from the first MSS pool associated with the terminatingcontrol node and the terminating media gateway.
 7. The method of claim1, wherein the SIP session is a two-party call or a multi-partyconference call and the user plane traffic is routed over real-timetransport protocol (RTP).
 8. A system for optimizing routing of a callin a mobile switch center (MSC) pool, comprising: a terminating mobileswitching center (MSC) server that is located within the MSC pool,wherein the MSC server has at least one processor and wherein the MSCserver is configured to: receive a session in protocol (SIP) message toinitiate a SIP session, wherein the SIP message includes an originatingmedia gateway trunk group identifier, wherein the SIP message furtherincludes a trunk context that includes a domain or sub-domain nameassociated with the MSC pool, and wherein the SIP message is a SIPINVITE message that is transmitted by an originating MSC server inresponse to a signal from the originating media gateway; obtain ageographic location of each of multiple media gateways, wherein eachgeographic location corresponds to a physical locality in which thecorresponding media gateway resides; select a target media gateway fromthe multiple media gateways to localize user plane traffic, wherein theselected target media gateway is one of the multiple media gateways thatis geographically nearest to an originating media gateway, wherein theselected target media gateway is mapped to the originating media gatewaytrunk group identifier and/or the trunk context, and wherein theselected target media gateway is the originating media gateway, suchthat the user plane traffic is localized to the originating mediagateway; and route the user plane traffic via the target media gateway.9. The system of claim 8, wherein the originating media gateway trunkgroup identifier includes a trunk group identifier that is mapped to anidentifier corresponding to the originating media gateway.
 10. Thesystem of claim 9, wherein the originating and the terminating MSCservers are both media gateway controller functions (MGCF).
 11. Thesystem of claim 10, wherein the originating and the terminating MSCservers are members of a first MSS pool.
 12. The system of claim 10,wherein the originating MSC server and the originating media gateway areassociated with a second MSS pool different from a first MSS poolassociated with the terminating MSC server and the target media gateway.13. The system of claim 8, wherein the SIP session is a two-party callor a multi-party conference call and the user plane traffic is routedover real-time transport protocol (RTP).
 14. At least one non-transitorycomputer-readable medium carrying instructions that when executed by atleast one data processing device performs the steps of: receiving, by aterminating control node that is located within a first MSS pool, aninvitation to initiate a session initiation protocol (SIP) session thatincludes an originating media gateway trunk group identifier and a trunkcontext, the trunk context comprising a domain name or a sub-domain namethat is associated with the first MSS pool, the invitation being a SIPINVITE message that is transmitted by an originating control node inresponse to a signal from the originating media gateway, and; obtaining,by the terminating control node, a geographic location of each ofmultiple media gateways, wherein each geographic location corresponds toa physical locality in which the corresponding media gateway resides;selecting, by the terminating control node, a target media gateway fromthe multiple media gateways using the originating media gateway trunkgroup identifier and/or the trunk context to localize user planetraffic, wherein the selected target media gateway is one of themultiple media gateways that is geographically nearest to an originatingmedia gateway, and wherein the selected target media gateway is theoriginating media gateway, such that the user plane traffic is localizedwithin the originating media gateway; and, routing the user planetraffic from the originating media gateway via the target media gateway.15. The non-transitory computer-readable medium of claim 14, wherein theSIP session is a two-party call or a multi-party conference call and theuser plane traffic is routed over real-time transport protocol (RTP).